研究デザインまとめ
生存時間解析
meta分析
質的変数–数字で測れない
量的変数–数字で測れる
中心を表す量:
平均値 (mean);中央値(median);最頻値(mode)
library(ShinyIntroStats) -> intro_stats_shinyapps() [3]
バラツキを表す量:
中央値と四分位範囲のペア
平均値と標準偏差
サンプルサイズ \( \Uparrow \) \( \longrightarrow \) 信頼区間の幅 \( \Downarrow \)
リスク比やオッズ比など,95%信頼区間には 1 が含まれると,統計学的に有意ではない.
実演:run shiny(confidence intervals)
| データ種類 | 二値変数 | 連続変数 | 生存期間 |
|---|---|---|---|
| 要約 | 分割表 | ヒストグラム 箱ひげ図 散布図 |
Kaplan-Meier 曲線 |
| 2群比較 | Fisher 正確検定 カイ二乗検定 |
t 検定 Man-Whitney U 検定 |
logrank検定 一般化 Wilcoxon 検定 |
| 対応のある2群比較 | McNemar 検定 | 対応のある t 検定 Wilcoxon 符号付順位和検定 |
|
| 3群以上の比較 | Fisher 正確検定 カイ二乗検定 |
分散分析 (ANOVA) Kruskal-Wallis 検定 |
logrank検定 一般化 Kruskal-Wallis 検定 |
| 対応のある3群以上の比較 | Cochran R 検定 | 反復測定分散分析 Friedman検定 |
|
| (多変量) 回帰分析 | ロジスティクス回帰 | 単回帰・重回帰 | Cox比例ハザード回帰 |
daily.intake.kJ <- c(5260, 5470, 5640, 6180, 6390, 6515, 6805, 7515, 7515, 8230, 8770)
#毎日推奨エネルギー摂取量との違いを検定する
t.test(daily.intake.kJ*0.239, mu=2000)#Kj->Calの変換が必要
One Sample t-test
data: daily.intake.kJ * 0.239
t = -4.6886, df = 10, p-value = 0.0008563
alternative hypothesis: true mean is not equal to 2000
95 percent confidence interval:
1430.737 1797.501
sample estimates:
mean of x
1614.119
library(ISwR);attach(energy)#データセットをローディング
t.test(expend ~ stature, var.equal=TRUE) # "~"の符号はstatureによりグループ分けの意味
Two Sample t-test
data: expend by stature
t = -3.9456, df = 20, p-value = 0.000799
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3.411451 -1.051796
sample estimates:
mean in group lean mean in group obese
8.066154 10.297778
#差の95%信頼区間は0を含まれないため(p < 0.05),肥満と痩せのエネルギー消費量は統計学的に有意な違いがある.
| Sample | Statin..No | Statin..Yes |
|---|---|---|
| Number | 6058 | 3049 |
| Glucose | 9.4(5.1) | 9.2(5.3) |
require(lessR) #函数をローディング
tt.brief(n1 = 6058, m1 = 9.4, s1 = 5.1, n2 = 3049, m2 = 9.2, s2 = 5.3)
Compare Y across X levels Group1 and Group2
------------------------------------------------------------
Y for X Group1: n = 6058, mean = 9.4, sd = 5.1
Y for X Group2: n = 3049, mean = 9.2, sd = 5.3
---
t-cutoff: tcut = 1.960
Standard Error of Mean Difference: SE = 0.11
Hypothesis Test of 0 Mean Diff: t = 1.743, df = 9105, p-value = 0.081
Margin of Error for 95% Confidence Level: 0.22
95% Confidence Interval for Mean Difference: -0.02 to 0.42
Sample Mean Difference of Y: 0.20
Standardized Mean Difference of Y, Cohen's d: 0.04
library(ISwR);attach(intake)#データセットをローディング
post-pre #月経後のエネルギー摂取は月経前より低い
[1] -1350 -1250 -1755 -1020 -745 -1835 -1540 -1540 -725 -1330 -1435
t.test(pre, post, paired = TRUE) #自分の対応があるので,pairをTRUEに指定
Paired t-test
data: pre and post
t = 11.941, df = 10, p-value = 0.0000003059
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1074.072 1566.838
sample estimates:
mean of the differences
1320.455
#月経前後のエネルギーの差の95%信頼区間には,0が含まれていないので,統計学的に有意な違いがある.
M <- matrix(c(23, 7, 18, 13), 2 ,2)#データ入力
colnames(M) <- c("治癒","未治癒")#列の名前
rownames(M) <- c("薬A","薬B")#行の名前
addmargins(M)#観察値(O)
治癒 未治癒 Sum
薬A 23 18 41
薬B 7 13 20
Sum 30 31 61
addmargins(chisq.test(M)$expected)#期待値(E)
治癒 未治癒 Sum
薬A 20.163934 20.83607 41
薬B 9.836066 10.16393 20
Sum 30.000000 31.00000 61
chisq.test(M, correct = FALSE) #カイ二乗検定を行う
Pearson's Chi-squared test
data: M
X-squared = 2.394, df = 1, p-value = 0.1218
E <- chisq.test(M)$expected#期待値
O <- chisq.test(M)$observed#観察値
(O - E)^2/E #カイ二乗統計量の計算
治癒 未治癒
薬A 0.3988938 0.3860262
薬B 0.8177322 0.7913538
0.3988938 + 0.3860262 + 0.8177322 + 0.7913538
[1] 2.394006
#自由度(df) 1 のp値は0.05より大きいので,治癒率に差があると言えない.
library(RcmdrPlugin.EZR)
.Table <- matrix(c(36, 76, 15, 455), 2,2, byrow = T)
epi.tests(.Table, conf.level = 0.95)
Disease positive Disease negative Total
Test positive 36 76 112
Test negative 15 455 470
Total 51 531 582
Point estimates and 95 % CIs:
---------------------------------------------------------
Estimation Lower CI Upper CI
Apparent prevalence 0.192 0.161 0.227
True prevalence 0.088 0.066 0.114
Sensitivity 0.706 0.562 0.825
Specificity 0.857 0.824 0.886
Positive predictive value 0.321 0.236 0.416
Negative predictive value 0.968 0.948 0.982
Diagnstic accuracy 0.844 0.812 0.872
Likelihood ratio of a positive test 4.932 3.752 6.482
Likelihood ratio of a negative test 0.343 0.224 0.526
---------------------------------------------------------
AUC(Area Under the roc Curve)曲線下面積が大きいほど良い検査法.
library(plotROC); shiny_plotROC()
set.seed(2529)
D.ex <- rbinom(200, size = 1, prob = .5)
M1 <- rnorm(200, mean = D.ex, sd = .65)
M2 <- rnorm(200, mean = D.ex, sd = 1.5)
test <- data.frame(D = D.ex, D.str = c("Healthy", "Ill")[D.ex + 1],
M1 = M1, M2 = M2, stringsAsFactors = FALSE)
① ②
| レベル | 研究種類 |
|---|---|
| 1a | ランダム化比較試験のメタアナリシス |
| 1b | 少なくとも一つのランダム化比較試験 |
| 2 | コホート研究(前向き) |
| 3 | ケース・コントロール研究(後ろ向き) |
| 4 | 処置前後の比較などの前後比較,対照群を伴わない研究 |
| 5 | 症例報告,ケースシリーズ |
| 6 | 専門家個人の意見(専門家委員会報告を含む) |
治癒 未治癒 Sum
薬A 23 18 41
薬B 7 13 20
Sum 30 31 61
治癒 未治癒 Sum
薬A 23 18 41
薬B 7 13 20
Sum 30 31 61
治癒 未治癒 Sum
薬A 23 18 41
薬B 7 13 20
Sum 30 31 61
prop.diff.conf(23, 41, 7, 20, 95) #リスク差の点推定値と信頼区間
[1] Difference : 0.211
[1] 95% confidence interval : -0.047 - 0.469
prop.ratio.conf(23, 41, 7, 20, 95) #リスク比の点推定値と信頼区間
[1] Ratio : 1.603
[1] 95% confidence interval : 0.832 - 3.088
治癒 未治癒 Sum
薬A 23 18 41
薬B 7 13 20
Sum 30 31 61
fisher.test(M) #オッズ比の点推定と信頼区間
Fisher's Exact Test for Count Data
data: M
p-value = 0.1737
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.6936416 8.4948588
sample estimates:
odds ratio
2.339104